package models;

import javax.persistence.*;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Objects;

@Entity
@Table(name = "t_DeliveryPlan", schema = "dbo", catalog = "MobileCenter_Test")
public class DeliveryPlan_T_Entity {
    private Integer fdRowId;
    private Integer fdBillRowid;
    private String fdDeliveryNo;
    private BigDecimal fdAmount;
    private String fdDeliveryPlace;
    private String fdWeightId;
    private String fdStartDate;
    private String fdEndDate;
    private String fdTransType;
    private String fdShipName;
    private String fdCreateDate;
    private String fdCreateBy;
    private String fdUnloadPlace;
    private String fdConuser;
    private String fdCostomerDept;
    private String fdDeliveBatchCode;

    @Id
    @Column(name = "fd_RowId", nullable = true)
    public Integer getFdRowId() {
        return fdRowId;
    }

    public void setFdRowId(Integer fdRowId) {
        this.fdRowId = fdRowId;
    }

    @Basic
    @Column(name = "fd_BillRowid", nullable = true)
    public Integer getFdBillRowid() {
        return fdBillRowid;
    }

    public void setFdBillRowid(Integer fdBillRowid) {
        this.fdBillRowid = fdBillRowid;
    }

    @Basic
    @Column(name = "fd_DeliveryNo", nullable = true, length = 30)
    public String getFdDeliveryNo() {
        return fdDeliveryNo;
    }

    public void setFdDeliveryNo(String fdDeliveryNo) {
        this.fdDeliveryNo = fdDeliveryNo;
    }

    @Basic
    @Column(name = "fd_Amount", nullable = true, precision = 2)
    public BigDecimal getFdAmount() {
        return fdAmount;
    }

    public void setFdAmount(BigDecimal fdAmount) {
        this.fdAmount = fdAmount;
    }

    @Basic
    @Column(name = "fd_DeliveryPlace", nullable = true, length = 100)
    public String getFdDeliveryPlace() {
        return fdDeliveryPlace;
    }

    public void setFdDeliveryPlace(String fdDeliveryPlace) {
        this.fdDeliveryPlace = fdDeliveryPlace;
    }

    @Basic
    @Column(name = "fd_WeightId", nullable = true, length = 10)
    public String getFdWeightId() {
        return fdWeightId;
    }

    public void setFdWeightId(String fdWeightId) {
        this.fdWeightId = fdWeightId;
    }

    @Basic
    @Column(name = "fd_StartDate", nullable = true)
    public String getFdStartDate() {
        return fdStartDate;
    }

    public void setFdStartDate(String fdStartDate) {
        this.fdStartDate = fdStartDate;
    }

    @Basic
    @Column(name = "fd_EndDate", nullable = true)
    public String getFdEndDate() {
        return fdEndDate;
    }

    public void setFdEndDate(String fdEndDate) {
        this.fdEndDate = fdEndDate;
    }

    @Basic
    @Column(name = "fd_TransType", nullable = true, length = 50)
    public String getFdTransType() {
        return fdTransType;
    }

    public void setFdTransType(String fdTransType) {
        this.fdTransType = fdTransType;
    }

    @Basic
    @Column(name = "fd_ShipName", nullable = true, length = 50)
    public String getFdShipName() {
        return fdShipName;
    }

    public void setFdShipName(String fdShipName) {
        this.fdShipName = fdShipName;
    }

    @Basic
    @Column(name = "fd_CreateDate", nullable = true)
    public String getFdCreateDate() {
        return fdCreateDate;
    }

    public void setFdCreateDate(String fdCreateDate) {
        this.fdCreateDate = fdCreateDate;
    }

    @Basic
    @Column(name = "fd_CreateBy", nullable = true, length = 10)
    public String getFdCreateBy() {
        return fdCreateBy;
    }

    public void setFdCreateBy(String fdCreateBy) {
        this.fdCreateBy = fdCreateBy;
    }

    @Basic
    @Column(name = "fd_UnloadPlace", nullable = true, length = 100)
    public String getFdUnloadPlace() {
        return fdUnloadPlace;
    }

    public void setFdUnloadPlace(String fdUnloadPlace) {
        this.fdUnloadPlace = fdUnloadPlace;
    }

    @Basic
    @Column(name = "fd_CONUSER", nullable = true, length = 20)
    public String getFdConuser() {
        return fdConuser;
    }

    public void setFdConuser(String fdConuser) {
        this.fdConuser = fdConuser;
    }

    @Basic
    @Column(name = "fd_CustomerDept", length = 20)
    public String getFdCostomerDept() {
        return fdCostomerDept;
    }

    public void setFdCostomerDept(String fdCostomerDept) {
        this.fdCostomerDept = fdCostomerDept;
    }

    @Basic
    @Column(name = "fd_DeliveBatchCode", length = 50)
    public String getFdDeliveBatchCode() {
        return fdDeliveBatchCode;
    }

    public void setFdDeliveBatchCode(String fdDeliveBatchCode) {
        this.fdDeliveBatchCode = fdDeliveBatchCode;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        DeliveryPlan_T_Entity that = (DeliveryPlan_T_Entity) o;
        return Objects.equals(fdRowId, that.fdRowId) &&
                Objects.equals(fdBillRowid, that.fdBillRowid) &&
                Objects.equals(fdDeliveryNo, that.fdDeliveryNo) &&
                Objects.equals(fdAmount, that.fdAmount) &&
                Objects.equals(fdDeliveryPlace, that.fdDeliveryPlace) &&
                Objects.equals(fdWeightId, that.fdWeightId) &&
                Objects.equals(fdStartDate, that.fdStartDate) &&
                Objects.equals(fdEndDate, that.fdEndDate) &&
                Objects.equals(fdTransType, that.fdTransType) &&
                Objects.equals(fdShipName, that.fdShipName) &&
                Objects.equals(fdCreateDate, that.fdCreateDate) &&
                Objects.equals(fdCreateBy, that.fdCreateBy) &&
                Objects.equals(fdUnloadPlace, that.fdUnloadPlace) &&
                Objects.equals(fdConuser, that.fdConuser);
    }

    @Override
    public int hashCode() {

        return Objects.hash(fdRowId, fdBillRowid, fdDeliveryNo, fdAmount, fdDeliveryPlace, fdWeightId, fdStartDate, fdEndDate, fdTransType, fdShipName, fdCreateDate, fdCreateBy, fdUnloadPlace, fdConuser);
    }
}
